import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.net.*;
import java.util.ArrayList;

/**
 * @author Tiina, Chris, Lauri
 *
 * Luokka, joka luo yhteyden Internetiin.
 */
public class Web {
	private String webString;
	private URL web;
	private ArrayList<String> kokoSivu = new ArrayList<String>();
	
	public Web(String web) {
		this.webString = web;
	}

	/*Luodaan yhteys osoitteeseen.*/
	private boolean luoURL() {
		try {
			this.web = new URL(webString);
			return true;
		} catch (Exception malformedURLException) {
			System.err.println("Error! Unacceptable URL.");
			return false;
		}
	}
	
	/*Luetaan URL, johon halutaan ottaa yhteys.*/
	private void lueURL() {
		try {
			InputStream in = this.web.openStream();
			Reader lukija = new InputStreamReader(in);
			BufferedReader br = new BufferedReader(lukija);
			String rivi;
			while ( (rivi = br.readLine()) != null ) {
				kokoSivu.add(rivi);
			}
		} catch (IOException ex) {
		}
	}
	
	/*Palautetaan ArrayList, jossa on koko web-sivu.*/
	public ArrayList<String> annaSivu() {
		if (this.luoURL()) {
			this.lueURL();
		}
		if (this.kokoSivu != null) {
			return this.kokoSivu;
		} else {
			return null;
		}		
	}	
}